package ar.org.cfired.creditos.parametros;

import java.util.Date;
import java.util.List;

import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;

import ar.org.cfired.creditos.seguridad.Clave;

public class Alarmas {

	private int alm_id;
	private String alm_usuario;
	private String alm_mail;
	private Date alm_fecha;
	private Date alm_fecha_envio;
	private String alm_modo;
	private int alm_cantidad_dias;
	private String alm_provincia;
	private int alm_eliminado;	
	private Session session;
	private Alarmas alarmas;
	
	public Alarmas(Session s){
		this.session = s;
	}
	
	public Alarmas(){
		
	}
	public void setAlmId (int alm_id) {
		this.alm_id = alm_id;
	}
	public int getAlmId() {
		return (this.alm_id);
	}

	public void setAlmUsuario (String alm_usuario) {
		if (alm_usuario != null)
			this.alm_usuario = alm_usuario.substring(0, Math.min(255, alm_usuario.length()));
		else
			this.alm_usuario = new String();
	}
	public String getAlmUsuario() {
		return (this.alm_usuario);
	}

	public void setAlmMail (String alm_mail) {
		if (alm_mail != null)
			this.alm_mail = alm_mail.substring(0, Math.min(255, alm_mail.length()));
		else
			this.alm_mail = new String();
	}
	public String getAlmMail() {
		return (this.alm_mail);
	}

	public void setAlmFecha (Date alm_fecha) {
		this.alm_fecha = alm_fecha;
	}
	public Date getAlmFecha() {
		return (this.alm_fecha);
	}

	public void setAlmFechaEnvio (Date alm_fecha_envio) {
		this.alm_fecha_envio = alm_fecha_envio;
	}
	public Date getAlmFechaEnvio() {
		return (this.alm_fecha_envio);
	}

	public void setAlmModo (String alm_modo) {
		if (alm_modo != null)
			this.alm_modo = alm_modo.substring(0, Math.min(2, alm_modo.length()));
		else
			this.alm_modo = new String();
	}
	public String getAlmModo() {
		return (this.alm_modo);
	}
	
	public void setAlmCantidadDias (int alm_cantidad_dias) {
		this.alm_cantidad_dias = alm_cantidad_dias;
	}
	public int getAlmCantidadDias() {
		return (this.alm_cantidad_dias);
	}
	

	public void setAlmProvincia (String alm_provincia) {
		if (alm_provincia != null)
			this.alm_provincia = alm_provincia.substring(0, Math.min(2, alm_provincia.length()));
		else
			this.alm_provincia = new String();
	}
	public String getAlmProvincia() {
		return (this.alm_provincia);
	}
	

	public void setAlmEliminado (int alm_eliminado) {
		this.alm_eliminado = alm_eliminado;
	}
	public int getAlmEliminado() {
		return (this.alm_eliminado);
	}
	
	
	public boolean guardar(String usuario, String modo, int cantidad_dias, Date fecha_envio ){
		this.alm_usuario = usuario;
		this.alm_modo = modo;
		this.alm_fecha_envio = fecha_envio;
		this.alm_cantidad_dias = cantidad_dias;
		this.guardar();
		//if(this.guardar())
			return true;
		//else
		//	return false;
	}
	
	
	/**
	 * Guarda las Alarmas como no eliminadas y con la fecha actual
	 */
	public void guardar() {
		session.beginTransaction();
		
		alarmas.setAlmEliminado(Integer.valueOf("0"));
		alarmas.setAlmFecha(new Date());
		
		boolean estado = true;
		
		try {
			session.save(alarmas);
			session.getTransaction().commit();
		}
		catch (HibernateException e) {
			Transaction t = session.getTransaction();
			//estado = false;
			if (t!=null)
				if (t.isActive()) 
					t.rollback();
			if (session!=null)
				if (session.isOpen())
					session.close();
			throw(e);
		}
		//return estado;
	}
	
	
}
